| API Documentation |  |

- MAIN PAGE
- NAMESPACES
- CLASSES

Namespaces | Classes | Enumerations
nkAstraeus Namespace Reference

Encompasses all API of component NilkinsAstraeus. More...

## Namespaces
| nkAstraeusWrap
| Encompasses the wrapping of nkAstraeus for scripting.
| nkExportWrap
| Encompasses the wrapping of nkExport for scripting.
| nkGraphicsWrap
| Encompasses the wrapping of nkGraphics for scripting.
| nkMathsWrap
| Encompasses the wrapping of nkMaths for scripting.
| nkMemoryWrap
| Encompasses the wrapping of nkMemory for scripting.
| nkResourcesWrap
| Encompasses the wrapping of nkResources for scripting.
| nkScriptsWrap
| Encompasses the wrapping of nkScripts for scripting.
| nkTasksWrap
| Encompasses the wrapping of nkTasks for scripting.
| stdWrap
| Encompasses the wrapping of std for scripting.

## Classes
class | AtmosphereEffect
| An atmosphere effect. More...
class | BlurComplexEffect
| A blurring effect. More...
class | ComplexEffect
| Base class for all complex effects in the component. More...
class | ComplexEffectManager
| Manages the complex effects available in the component. More...
class | ComplexEffectTypeUtils
| Offers utility functions to help with the enumeration support. More...
class | DofComplexEffect
| A Depth of Field effect. More...
class | Effect
| Base class for all effects in the component. More...
class | EffectManager
| Manages the effects available in the component. More...
class | EffectTypeUtils
| Offers utility functions to help with the enumeration support. More...
class | EnvironmentRenderer
| Utility class helping with environment rendering such as cube maps or spherical maps. More...
class | FilmGrainEffect
| A film grain effect. More...
class | FilmGrainEffectUtils
| Utilities that can help when using an FilmGrainEffect. More...
class | FxaaEffect
| A Fast Approximate Anti-Aliasing effect. More...
class | GeometryLib
| Shader program helping sources for general geometry concepts. More...
class | GraphicsEngine
| Drives the graphics engine part. More...
class | ImageEnvironmentEffect
| Effect using a texture as an input to use it as an environment for the view. More...
class | LogManager
| Responsible for logging all messages from the component. By registering a nkLog::Logger inside, it is possible to listen to all messages logged. More...
class | Material
| Base class for all materials in the component. More...
class | MaterialManager
| Manages the materials available in the component. More...
class | MaterialTypeUtils
| Offers tools to work with the MATERIAL_TYPE enumeration. More...
class | MathsLib
| Shader program helping sources for general maths concepts. More...
class | OneChannelPackUtils
| Offers tools to work with the ONE_CHANNEL_PACK enumeration. More...
class | PbsEnvironmentMapFilter
| Provides tools to filter environment maps and improve IBL within the PbsMaterial. More...
class | PbsMaterial
| A Physically Based Shading material. More...
class | PostProcessingLib
| Shader program helping sources to handle post processing passes. More...
class | ProjectLoader
| Allows to load and save projects, that is, resource sets. More...
struct | ProjectLoadQuery
| Describes a project load query. More...
struct | ProjectLoadResult
| Holds information about a project load attempt. More...
struct | ProjectSaveQuery
| Describes a project save query. More...
class | ScriptsEngine
| Drives the scripting sub engine. More...
struct | ShadowMapParameters
| Exposes parameters for the shadow map setup in materials and effects supporting it. More...
class | ShadowMapPcfUtils
| Offers utilities around using the SHADOW_MAP_PCF enumeration. More...
class | ShadowMappingLib
| Shader program helping sources for shadow mapping. More...
class | SsaoEffect
| A Screen Space Ambient Occlusion effect. More...
class | SsaoEffectUtils
| Utilities that can help when using an SsaoEffect. More...
class | System
| The main entry point for nkAstraeus engine. More...
class | TextureCopyEffect
| A texture copy effect. More...
class | ThreeChannelPackUtils
| Offers utilities to use with the THREE_CHANNEL_PACK enumeration class. More...
class | ToneMappingEffect
| A tone mapping effect meant to map linear values to display device colors. More...
struct | ToneMappingHablesCurveDescriptor
| Provides all parameters to tune the Hables curve to tone map an image. More...

## Enumerations
enum | BLUR_TYPE { BLUR_TYPE::GAUSSIAN = 0 }
| Enumerates the blurring types available. More...
enum | COMPLEX_EFFECT_TYPE { COMPLEX_EFFECT_TYPE::UNKNOWN = 0, COMPLEX_EFFECT_TYPE::BLUR, COMPLEX_EFFECT_TYPE::DOF }
| Enumerates all complex effects available in the component. More...
enum | EFFECT_TYPE { EFFECT_TYPE::UNKNOWN = 0, EFFECT_TYPE::ATMOSPHERE, EFFECT_TYPE::FILM_GRAIN, EFFECT_TYPE::FXAA, EFFECT_TYPE::IMAGE_ENVIRONMENT, EFFECT_TYPE::SSAO, EFFECT_TYPE::TEXTURE_COPY, EFFECT_TYPE::TONE_MAPPING }
| Lists all effects supported. More...
enum | FXAA_PRESET { FXAA_PRESET::DITHER_MEDIUM_RADIUS_3 = 0, FXAA_PRESET::DITHER_MEDIUM_RADIUS_4, FXAA_PRESET::DITHER_MEDIUM_RADIUS_5, FXAA_PRESET::DITHER_MEDIUM_RADIUS_6, FXAA_PRESET::DITHER_MEDIUM_RADIUS_7, FXAA_PRESET::DITHER_MEDIUM_RADIUS_8, FXAA_PRESET::DITHER_LOW_RADIUS_3, FXAA_PRESET::DITHER_LOW_RADIUS_4, FXAA_PRESET::DITHER_LOW_RADIUS_5, FXAA_PRESET::DITHER_LOW_RADIUS_6, FXAA_PRESET::DITHER_LOW_RADIUS_7, FXAA_PRESET::DITHER_LOW_RADIUS_8, FXAA_PRESET::DITHER_LOW_RADIUS_9, FXAA_PRESET::DITHER_LOW_RADIUS_10, FXAA_PRESET::DITHER_LOW_RADIUS_11, FXAA_PRESET::DITHER_LOW_RADIUS_12, FXAA_PRESET::DITHER_LOWEST_RADIUS_12 }
| Describes all FXAA effect presets available. More...
enum | IMAGE_ENVIRONMENT_PROJECTION { IMAGE_ENVIRONMENT_PROJECTION::AUTO = 0, IMAGE_ENVIRONMENT_PROJECTION::FLAT, IMAGE_ENVIRONMENT_PROJECTION::CUBE, IMAGE_ENVIRONMENT_PROJECTION::EQUIRECTANGULAR }
| Enumerates the projections supported for a source environment image. More...
enum | ONE_CHANNEL_PACK { ONE_CHANNEL_PACK::R = 0, ONE_CHANNEL_PACK::G, ONE_CHANNEL_PACK::B, ONE_CHANNEL_PACK::A }
| Enumeration of texture channels, one by one. More...
enum | THREE_CHANNEL_PACK { THREE_CHANNEL_PACK::RGB = 0, THREE_CHANNEL_PACK::RBG, THREE_CHANNEL_PACK::RGA, THREE_CHANNEL_PACK::RAG, THREE_CHANNEL_PACK::RBA, THREE_CHANNEL_PACK::RAB, THREE_CHANNEL_PACK::GRB, THREE_CHANNEL_PACK::GBR, THREE_CHANNEL_PACK::GRA, THREE_CHANNEL_PACK::GAR, THREE_CHANNEL_PACK::GBA, THREE_CHANNEL_PACK::GAB, THREE_CHANNEL_PACK::BRG, THREE_CHANNEL_PACK::BGR, THREE_CHANNEL_PACK::BAR, THREE_CHANNEL_PACK::BGA, THREE_CHANNEL_PACK::BAG, THREE_CHANNEL_PACK::ARG, THREE_CHANNEL_PACK::AGR, THREE_CHANNEL_PACK::AGB, THREE_CHANNEL_PACK::ABG, THREE_CHANNEL_PACK::ARB, THREE_CHANNEL_PACK::ABR }
| Enumeration of texture channels, packed by three. The channel order is encoded in each value, which can drive the mapping in supporting settings. More...
enum | MATERIAL_TYPE { MATERIAL_TYPE::UNKNOWN = 0, MATERIAL_TYPE::PBS }
| Lists all materials supported. More...
enum | PBS_MODEL { PBS_MODEL::SPECULAR_METALNESS_ROUGHNESS = 0, PBS_MODEL::SPECULAR_GLOSSINESS }
| Lists the available PBS models available. More...
enum | SHADOW_MAP_PCF { SHADOW_MAP_PCF::PCF_NONE = 0, SHADOW_MAP_PCF::PCF_4_TAP, SHADOW_MAP_PCF::PCF_9_TAP, SHADOW_MAP_PCF::PCF_16_TAP }
| Percentage Closer Filtering settings available for materials and effects supporting the shadow mapping method. More...

## Detailed Description

Encompasses all API of component NilkinsAstraeus.

NilkinsAstraeus is a component that leverages all other capabilities exposed in other components to offer what gets near a game engine. Currently, it will :

- Initialize the nkGraphics and nkScripts components.
- Offer a scripting environment able to drive the component API exposed in C++.

As it goes, it will evolve to offer a higher level control, and more capabilities to ease the use of the engine as a whole.

## Enumeration Type Documentation

## ◆ BLUR_TYPE

enum nkAstraeus::BLUR_TYPE
| strong

Enumerates the blurring types available.

Enumerator
GAUSSIAN | A typical gaussian blur.

## ◆ COMPLEX_EFFECT_TYPE

enum nkAstraeus::COMPLEX_EFFECT_TYPE
| strong

Enumerates all complex effects available in the component.

Enumerator
UNKNOWN | Unknown placeholder.
BLUR | Blurring effect.
DOF | Depth Of Field effect.

## ◆ EFFECT_TYPE

enum nkAstraeus::EFFECT_TYPE
| strong

Lists all effects supported.

Enumerator
UNKNOWN | Unknown placeholder.
ATMOSPHERE | Atmosphere effect.
FILM_GRAIN | Film grain effect.
FXAA | Fast Approximate Anti-Aliasing effect.
IMAGE_ENVIRONMENT | Image Environment effect.
SSAO | Screen Space Ambient Occlusion effect.
TEXTURE_COPY | Simple texture copy effect.
TONE_MAPPING | Tone mapping effect.

## ◆ FXAA_PRESET

enum nkAstraeus::FXAA_PRESET
| strong

Describes all FXAA effect presets available.

Presets drive the main algorithm logic. They give how much dithering should be acceptable, and what is the lookup radius of the filter. More dithering can mean harsher effect, while less dithering can smooth up better the image, as will do a bigger radius. However, keep in mind that the smaller the dither and the bigger the radius, the bigger the hit on the performance is.

Default value is DITHER_MEDIUM_RADIUS_5, representing a good compromise between quality and performances.

Enumerator
DITHER_MEDIUM_RADIUS_3 | Medium dithering, radius of 3 pixels.
DITHER_MEDIUM_RADIUS_4 | Medium dithering, radius of 4 pixels.
DITHER_MEDIUM_RADIUS_5 | Medium dithering, radius of 5 pixels.
DITHER_MEDIUM_RADIUS_6 | Medium dithering, radius of 6 pixels.
DITHER_MEDIUM_RADIUS_7 | Medium dithering, radius of 7 pixels.
DITHER_MEDIUM_RADIUS_8 | Medium dithering, radius of 8 pixels.
DITHER_LOW_RADIUS_3 | Low dithering, radius of 3 pixels.
DITHER_LOW_RADIUS_4 | Low dithering, radius of 4 pixels.
DITHER_LOW_RADIUS_5 | Low dithering, radius of 5 pixels.
DITHER_LOW_RADIUS_6 | Low dithering, radius of 6 pixels.
DITHER_LOW_RADIUS_7 | Low dithering, radius of 7 pixels.
DITHER_LOW_RADIUS_8 | Low dithering, radius of 8 pixels.
DITHER_LOW_RADIUS_9 | Low dithering, radius of 9 pixels.
DITHER_LOW_RADIUS_10 | Low dithering, radius of 10 pixels.
DITHER_LOW_RADIUS_11 | Low dithering, radius of 11 pixels.
DITHER_LOW_RADIUS_12 | Low dithering, radius of 12 pixels.
DITHER_LOWEST_RADIUS_12 | Lowest dithering possible, radius of 12 pixels.

## ◆ IMAGE_ENVIRONMENT_PROJECTION

enum nkAstraeus::IMAGE_ENVIRONMENT_PROJECTION
| strong

Enumerates the projections supported for a source environment image.

Enumerator
AUTO | Auto-detect based on the image's type.
FLAT | Flat texture, only interpolated on the screen's uvs.
CUBE | Cubemap texture, interpolated based on a pixel's direction.
EQUIRECTANGULAR | Equirectangular, interpolated using a pixel's direction converted to a 2D uv coordinate.

## ◆ ONE_CHANNEL_PACK

enum nkAstraeus::ONE_CHANNEL_PACK
| strong

Enumeration of texture channels, one by one.

Enumerator
R | Red channel.
G | Green channel.
B | Blue channel.
A | Alpha channel.

## ◆ THREE_CHANNEL_PACK

enum nkAstraeus::THREE_CHANNEL_PACK
| strong

Enumeration of texture channels, packed by three. The channel order is encoded in each value, which can drive the mapping in supporting settings.

Enumerator
RGB | Red, green, blue channels.
RBG | Red, blue, green channels.
RGA | Red, green, alpha channels.
RAG | Red, alpha, green channels.
RBA | Red, blue, alpha channels.
RAB | Red, alpha, blue channels.
GRB | Green, red, blue channels.
GBR | Green, blue, red channels.
GRA | Green, red, alpha channels.
GAR | Green, alpha, red channels.
GBA | Green, blue, alpha channels.
GAB | Green, alpha, blue channels.
BRG | Blue, red, green channels.
BGR | Blue, green, red channels.
BAR | Blue, red, alpha channels. Blue, alpha, red channels.
BGA | Blue, green, alpha channels.
BAG | Blue, alpha, green channels.
ARG | Alpha, red, green channels.
AGR | Alpha, green, red channels.
AGB | Alpha, green, blue channels.
ABG | Alpha, blue, green channels.
ARB | Alpha, red, blue channels.
ABR | Alpha, blue, red channels.

## ◆ MATERIAL_TYPE

enum nkAstraeus::MATERIAL_TYPE
| strong

Lists all materials supported.

Enumerator
UNKNOWN | Unknown place holder.
PBS | Physically Based Shading material.

## ◆ PBS_MODEL

enum nkAstraeus::PBS_MODEL
| strong

Lists the available PBS models available.

Enumerator
SPECULAR_METALNESS_ROUGHNESS | Uses the specular, with metalness and roughness values.
SPECULAR_GLOSSINESS | Uses the specular, with the glossiness value.

## ◆ SHADOW_MAP_PCF

enum nkAstraeus::SHADOW_MAP_PCF
| strong

Percentage Closer Filtering settings available for materials and effects supporting the shadow mapping method.

Enumerator
PCF_NONE | No PCF.
PCF_4_TAP | PCF with 4 taps.
PCF_9_TAP | PCF with 9 taps.
PCF_16_TAP | PCF with 16 taps.